# 从终端输入两个正整数ｍ,ｎ，其中m<n,分别完成如下计算，并按要求格式输出计算结果；（每题5分，共２０分）
# 1．创建一个无参数的匿名函数，将“人工智能”输出3遍。
# 2．创建一个有参数的匿名函数，判断的m<n是否为真。
# 3．创建一个有参有返回值的函数acusum(s),实现１+２+……+S的和，计算并输出acusum(n)
# 4．创建一个递归函数acumul(s),实现１*２*……*S的积，计算并输出acumul(m)

# 从终端输入两个正整数ｍ,ｎ，其中m<n,分别完成如下计算，并按要求格式输出计算结果；（每题5分，共２０分）
print('从终端输入两个正整数ｍ,ｎ')
m = int(input('m=? :'))
while True:
    n = int(input('n=? :'))
    if m < n:
        break
    else:
        print('需要m<n')
print(f'm = {m}, n = {n}')

# 1．创建一个无参数的匿名函数，将“人工智能”输出3遍。
print('1．创建一个无参数的匿名函数，将“人工智能”输出3遍。')
for i in range(3):
    (lambda: print('人工智能'))()

# 2．创建一个有参数的匿名函数，判断的m<n是否为真。
print('2．创建一个有参数的匿名函数，判断的m<n是否为真。')
result = (lambda m, n: m < n)(m, n)
print(f'm<n是否为真: {result}')

# 3．创建一个有参有返回值的函数acusum(s),实现１+２+……+S的和，计算并输出acusum(n)
print('3．创建一个有参有返回值的函数acusum(s),实现１+２+……+S的和，计算并输出acusum(n)')


def acusum(s):
    xsum = 0
    for i in range(1, s + 1):
        xsum += i
    return xsum


print(f'acusum(n) = {acusum(n)}')

# 4．创建一个递归函数acumul(s),实现１*２*……*S的积，计算并输出acumul(m)
print('4．创建一个递归函数acumul(s),实现１*２*……*S的积，计算并输出acumul(m)')


def acumul(s):
    if s <= 1:
        return 1
    else:
        return s * acumul(s - 1)


print(f'acumul(m) = {acumul(m)}')
